Skip to main content

DSA Interview Preparation 2025

๐ŸŽฏ Strategy to Crack 80-90% Interviewsโ€‹

This curated list covers 180 problems across key patterns that appear in 80-90% of coding interviews at FAANG and top tech companies. Focus on understanding patterns rather than memorizing solutions.


๐Ÿ“Š Coverage Statisticsโ€‹

CategoryProblemsPriorityTime to Master
Arrays & Strings25๐Ÿ”ด Critical2 weeks
Two Pointers12๐Ÿ”ด Critical1 week
Sliding Window10๐Ÿ”ด Critical1 week
Hash Tables12๐Ÿ”ด Critical1 week
Binary Search10๐ŸŸก High1 week
Linked Lists10๐ŸŸก High1 week
Trees & BST15๐Ÿ”ด Critical2 weeks
Graphs12๐ŸŸก High1.5 weeks
Dynamic Programming22๐Ÿ”ด Critical3 weeks
Backtracking8๐ŸŸข Medium1 week
Heaps/Priority Queue12๐Ÿ”ด Critical1 week
Stack & Queue10๐ŸŸก High1 week
Trie8๐ŸŸก High1 week
Intervals10๐Ÿ”ด Critical1 week
Bit Manipulation6๐ŸŸข Medium3 days

Total Time: 10-12 weeks with consistent practice (2-3 hours/day)


1๏ธโƒฃ Arrays & Strings (25 Problems) ๐Ÿ”ดโ€‹

Must-Do (Core)โ€‹

  1. Two Sum - Hash map basics
  2. Best Time to Buy and Sell Stock - Single pass optimization
  3. Contains Duplicate - Set usage
  4. Product of Array Except Self - Prefix/suffix arrays
  5. Maximum Subarray (Kadane's Algorithm) - DP introduction
  6. Maximum Product Subarray - DP variation
  7. Find Minimum in Rotated Sorted Array - Modified binary search
  8. Search in Rotated Sorted Array - Binary search variation
  9. Container With Most Water - Two pointers
  10. 3Sum - Two pointers + sorting

Importantโ€‹

  1. Longest Substring Without Repeating Characters - Sliding window
  2. Minimum Window Substring - Sliding window advanced
  3. Valid Anagram - Hash map
  4. Group Anagrams - Hash map + sorting
  5. Longest Palindromic Substring - Expand from center
  6. Encode and Decode Strings (Premium) - String manipulation
  7. Rotate Image - Matrix manipulation
  8. Spiral Matrix - Matrix traversal
  9. Set Matrix Zeroes - In-place modification
  10. Word Search - Backtracking on matrix

Nice to Haveโ€‹

  1. Missing Number - XOR/Math trick
  2. Find All Numbers Disappeared in Array - Index marking
  3. Next Permutation - Array manipulation
  4. String to Integer (atoi) - String parsing
  5. Longest Common Prefix - String comparison

Key Patterns: Two pointers, sliding window, prefix sums, Kadane's algorithm


2๏ธโƒฃ Two Pointers (12 Problems) ๐Ÿ”ดโ€‹

Must-Doโ€‹

  1. Valid Palindrome - Basic two pointers
  2. Two Sum II - Input Array Is Sorted - Two pointers on sorted array
  3. 3Sum - Two pointers with loop
  4. Container With Most Water - Greedy two pointers
  5. Remove Duplicates from Sorted Array - In-place modification

Importantโ€‹

  1. Remove Nth Node From End of List - Fast/slow pointers
  2. Linked List Cycle - Fast/slow pointers (Floyd's)
  3. Valid Palindrome II - Two pointers with modification
  4. Move Zeroes - Two pointers swap
  5. Sort Colors - Dutch National Flag

Nice to Haveโ€‹

  1. Partition Labels - Greedy + two pointers
  2. Backspace String Compare - Two pointers from end

Key Patterns: Fast/slow pointers, left/right pointers, collision technique


3๏ธโƒฃ Sliding Window (10 Problems) ๐Ÿ”ดโ€‹

Must-Doโ€‹

  1. Maximum Average Subarray I - Fixed size window
  2. Longest Substring Without Repeating Characters - Variable window
  3. Minimum Window Substring - Complex variable window
  4. Longest Repeating Character Replacement - Window with condition
  5. Permutation in String - Fixed window pattern matching

Importantโ€‹

  1. Find All Anagrams in a String - Fixed window + hash map
  2. Longest Substring with At Most K Distinct Characters (Premium) - Variable window
  3. Fruit Into Baskets - At most 2 distinct
  4. Minimum Size Subarray Sum - Variable window with target

Nice to Haveโ€‹

  1. Sliding Window Maximum - Deque optimization

Key Patterns: Fixed window, variable window, shrinking/expanding technique


4๏ธโƒฃ Hash Tables (12 Problems) ๐Ÿ”ดโ€‹

Must-Doโ€‹

  1. Two Sum - Basic hash map
  2. Group Anagrams - Hash map with key transformation
  3. Top K Frequent Elements - Hash map + heap/bucket sort
  4. Valid Anagram - Frequency map
  5. Ransom Note - Character counting

Importantโ€‹

  1. Longest Consecutive Sequence - Hash set O(n)
  2. Subarray Sum Equals K - Prefix sum + hash map
  3. 4Sum II - Multiple hash maps
  4. Isomorphic Strings - Bidirectional mapping
  5. Word Pattern - Hash map pattern matching

Nice to Haveโ€‹

  1. Design HashMap - Implementation
  2. LRU Cache - Hash map + doubly linked list

Key Patterns: Frequency counting, prefix sums, bidirectional mappings


5๏ธโƒฃ Binary Search (10 Problems) ๐ŸŸกโ€‹

Must-Doโ€‹

  1. Binary Search - Template
  2. Search in Rotated Sorted Array - Modified binary search
  3. Find Minimum in Rotated Sorted Array - Peak finding
  4. Search a 2D Matrix - 2D binary search
  5. Koko Eating Bananas - Binary search on answer

Importantโ€‹

  1. Find First and Last Position of Element in Sorted Array - Binary search boundaries
  2. Search Insert Position - Lower bound
  3. Valid Perfect Square - Math + binary search
  4. Find Peak Element - Peak finding

Nice to Haveโ€‹

  1. Median of Two Sorted Arrays - Advanced binary search

Key Patterns: Classic binary search, search on answer space, boundary conditions


6๏ธโƒฃ Linked Lists (10 Problems) ๐ŸŸกโ€‹

Must-Doโ€‹

  1. Reverse Linked List - Iterative and recursive
  2. Merge Two Sorted Lists - Basic merge
  3. Linked List Cycle - Fast/slow pointers
  4. Remove Nth Node From End of List - Two pointers
  5. Reorder List - Multiple techniques combined

Importantโ€‹

  1. Middle of the Linked List - Fast/slow pointers
  2. Palindrome Linked List - Reverse + compare
  3. Merge K Sorted Lists - Heap/divide & conquer
  4. Add Two Numbers - Linked list arithmetic
  5. Copy List with Random Pointer - Hash map for deep copy

Key Patterns: Fast/slow pointers, dummy nodes, in-place reversal


7๏ธโƒฃ Trees & Binary Search Trees (15 Problems) ๐Ÿ”ดโ€‹

Must-Doโ€‹

  1. Maximum Depth of Binary Tree - Basic recursion
  2. Same Tree - Tree comparison
  3. Invert Binary Tree - Tree manipulation
  4. Binary Tree Level Order Traversal - BFS
  5. Validate Binary Search Tree - BST property
  6. Lowest Common Ancestor of a Binary Search Tree - BST traversal
  7. Subtree of Another Tree - Tree matching

Importantโ€‹

  1. Kth Smallest Element in a BST - Inorder traversal
  2. Construct Binary Tree from Preorder and Inorder Traversal - Tree construction
  3. Binary Tree Maximum Path Sum - Complex recursion
  4. Serialize and Deserialize Binary Tree - Tree encoding
  5. Count Good Nodes in Binary Tree - Tree traversal with state

Nice to Haveโ€‹

  1. Binary Tree Right Side View - Level order variant
  2. Diameter of Binary Tree - Recursive depth
  3. Lowest Common Ancestor of a Binary Tree - LCA in general tree

Key Patterns: DFS, BFS, recursion with state, tree properties


8๏ธโƒฃ Graphs (12 Problems) ๐ŸŸกโ€‹

Must-Doโ€‹

  1. Number of Islands - DFS/BFS on grid
  2. Clone Graph - Graph traversal + cloning
  3. Pacific Atlantic Water Flow - Multi-source DFS/BFS
  4. Course Schedule - Cycle detection (topological sort)
  5. Course Schedule II - Topological sort implementation

Importantโ€‹

  1. Graph Valid Tree (Premium) - Cycle detection + connectivity
  2. Number of Connected Components in an Undirected Graph (Premium) - Union-Find/DFS
  3. Word Ladder - BFS shortest path
  4. Longest Increasing Path in a Matrix - DFS + memoization
  5. Surrounded Regions - Boundary DFS/BFS

Nice to Haveโ€‹

  1. Network Delay Time - Dijkstra's algorithm
  2. Cheapest Flights Within K Stops - Modified Dijkstra/Bellman-Ford

Key Patterns: DFS, BFS, topological sort, Union-Find, shortest path


9๏ธโƒฃ Dynamic Programming (22 Problems) ๐Ÿ”ดโ€‹

1D DP (Must-Do)โ€‹

  1. Climbing Stairs - Basic DP introduction
  2. House Robber - 1D DP with constraint
  3. House Robber II - Circular array DP
  4. Longest Increasing Subsequence - Classic LIS
  5. Word Break - String DP
  6. Coin Change - Unbounded knapsack
  7. Maximum Product Subarray - State tracking DP
  8. Decode Ways - String decoding DP

2D DP (Important)โ€‹

  1. Unique Paths - 2D grid DP
  2. Longest Common Subsequence - 2D string DP
  3. Edit Distance - String transformation
  4. Best Time to Buy and Sell Stock with Cooldown - State machine DP
  5. Coin Change II - Count combinations
  6. Target Sum - Subset sum variant
  7. Partition Equal Subset Sum - 0/1 knapsack
  8. Palindromic Substrings - String DP
  9. Longest Palindromic Subsequence - 2D DP

Advanced (Nice to Have)โ€‹

  1. Regular Expression Matching - Complex string DP
  2. Interleaving String - 2D string DP
  3. Distinct Subsequences - Counting DP
  4. Burst Balloons - Interval DP
  5. Palindrome Partitioning II - Partition DP

Key Patterns: 1D DP, 2D DP, knapsack, subsequences, state machines


๐Ÿ”Ÿ Backtracking (8 Problems) ๐ŸŸขโ€‹

Must-Doโ€‹

  1. Subsets - Power set generation
  2. Permutations - All permutations
  3. Combination Sum - Backtracking with reuse
  4. Word Search - 2D backtracking
  5. Palindrome Partitioning - String partitioning

Importantโ€‹

  1. Letter Combinations of a Phone Number - String generation
  2. Generate Parentheses - Valid parentheses
  3. N-Queens - Classic backtracking

Key Patterns: DFS with backtracking, pruning, state restoration


1๏ธโƒฃ1๏ธโƒฃ Heaps / Priority Queue (12 Problems) ๐Ÿ”ดโ€‹

Must-Do (Top K / Kth Largest/Smallest)โ€‹

  1. Kth Largest Element in an Array - Quick select/heap
  2. Kth Smallest Element in a Sorted Matrix - Min heap
  3. Top K Frequent Elements - Heap + hash map
  4. K Closest Points to Origin - Max heap distance
  5. Find K Pairs with Smallest Sums - Min heap pairs

Importantโ€‹

  1. Find Median from Data Stream - Two heaps (max + min)
  2. Merge K Sorted Lists - Heap merge
  3. Task Scheduler - Greedy + heap
  4. Reorganize String - Greedy + max heap
  5. Ugly Number II - Min heap generation

Nice to Haveโ€‹

  1. Meeting Rooms II (Premium) - Min heap intervals
  2. IPO - Two heaps optimization

Key Patterns: Min/max heap, k-way merge, scheduling problems, median maintenance


1๏ธโƒฃ2๏ธโƒฃ Stack & Queue (10 Problems) ๐ŸŸกโ€‹

Must-Doโ€‹

  1. Valid Parentheses - Stack basics
  2. Min Stack - Design problem
  3. Evaluate Reverse Polish Notation - Stack evaluation
  4. Daily Temperatures - Monotonic stack
  5. Largest Rectangle in Histogram - Monotonic stack advanced

Importantโ€‹

  1. Implement Queue using Stacks - Design problem
  2. Decode String - Nested stack
  3. Asteroid Collision - Stack simulation
  4. Next Greater Element I - Monotonic stack
  5. Trapping Rain Water - Stack/Two pointers

Key Patterns: Monotonic stack, stack for parsing, simulation


1๏ธโƒฃ3๏ธโƒฃ Trie (Prefix Tree) (8 Problems) ๐ŸŸกโ€‹

Must-Doโ€‹

  1. Implement Trie (Prefix Tree) - Trie implementation
  2. Design Add and Search Words Data Structure - Trie with wildcards
  3. Word Search II - Trie + backtracking
  4. Longest Word in Dictionary - Trie traversal

Importantโ€‹

  1. Replace Words - Trie prefix matching
  2. Implement Magic Dictionary - Trie with modifications
  3. Word Squares (Premium) - Trie backtracking

Nice to Haveโ€‹

  1. Palindrome Pairs - Trie advanced

Key Patterns: Prefix matching, dictionary operations, auto-complete


1๏ธโƒฃ4๏ธโƒฃ Intervals (10 Problems) ๐Ÿ”ดโ€‹

Must-Doโ€‹

  1. Merge Intervals - Basic interval merge
  2. Insert Interval - Interval insertion
  3. Non-overlapping Intervals - Greedy intervals
  4. Meeting Rooms (Premium) - Simple overlap check
  5. Meeting Rooms II (Premium) - Min heap intervals

Importantโ€‹

  1. Interval List Intersections - Two pointers
  2. Minimum Number of Arrows to Burst Balloons - Greedy overlap
  3. Employee Free Time (Premium) - Multiple intervals
  4. My Calendar I - Interval booking

Nice to Haveโ€‹

  1. Partition Labels - Interval partitioning

Key Patterns: Sorting intervals, greedy approach, sweep line, overlap detection


1๏ธโƒฃ5๏ธโƒฃ Bit Manipulation (6 Problems) ๐ŸŸขโ€‹

Must-Doโ€‹

  1. Single Number - XOR basics
  2. Number of 1 Bits - Bit counting
  3. Counting Bits - DP + bits
  4. Missing Number - XOR trick

Importantโ€‹

  1. Reverse Bits - Bit manipulation
  2. Sum of Two Integers - Bitwise addition

Key Patterns: XOR properties, bit masks, bitwise operations


๐ŸŽฏ Study Plan (10-12 Weeks)โ€‹

Week 1-2: Arrays & Fundamentalsโ€‹

  • Arrays & Strings (25 problems)
  • Two Pointers (12 problems)
  • Hash Tables (12 problems)
  • Goal: Master basic manipulation and pattern recognition

Week 3-4: Intermediate Patternsโ€‹

  • Sliding Window (10 problems)
  • Binary Search (10 problems)
  • Stack & Queue (10 problems)
  • Bit Manipulation (6 problems)
  • Goal: Learn optimization techniques

Week 5-6: Data Structuresโ€‹

  • Linked Lists (10 problems)
  • Trees & BST (15 problems)
  • Heaps (12 problems)
  • Goal: Master tree/graph traversals

Week 7-8: Advanced Topicsโ€‹

  • Graphs (12 problems)
  • Trie (8 problems)
  • Intervals (10 problems)
  • Goal: Learn complex data structures

Week 9-10: Dynamic Programmingโ€‹

  • Dynamic Programming (22 problems - focus on 15)
  • Backtracking (8 problems)
  • Goal: Master complex algorithmic thinking

Week 11-12: Consolidationโ€‹

  • Remaining DP problems
  • Review all Top K/Kth problems
  • Mock interviews
  • Revision of difficult problems
  • Goal: Speed, accuracy, and confidence

๐Ÿ’ก Pro Tips for Successโ€‹

1. Pattern Recognition Over Memorizationโ€‹

  • Understand WHY a solution works
  • Identify similar problems by pattern
  • Build a mental catalog of techniques

2. Master "Top K" and "Kth Largest/Smallest" Problemsโ€‹

  • These are extremely common in interviews
  • Use heap (priority queue) as first instinct
  • Know when to use min-heap vs max-heap
  • Practice quick-select for O(n) average case

3. Trie Problems Are Goldโ€‹

  • Less common but HIGH impact when asked
  • Master the basic implementation first
  • Understand prefix vs suffix operations
  • Combine with backtracking for harder problems

4. Interval Problems Have Patternsโ€‹

  • Sort by start time (usually)
  • Use greedy approach (often)
  • Think about sweep line algorithm
  • Min heap for overlapping intervals

5. Time Complexity Firstโ€‹

  • Always analyze brute force first
  • Identify bottlenecks
  • Optimize step by step

6. Practice Articulationโ€‹

  • Explain your thought process aloud
  • Practice with timer (45 minutes per problem)
  • Use mock interviews

7. Quality Over Quantityโ€‹

  • Solve each problem 2-3 times over weeks
  • Understand all edge cases
  • Can you solve it in a different way?

8. Company-Specific Focusโ€‹

  • FAANG: Heavy on DP, graphs, Top K problems
  • Microsoft/Amazon: Trees, intervals, system design
  • Google: DP, graphs, complex problems
  • Startups: More practical, API design

๐Ÿ“Š Difficulty Distributionโ€‹

DifficultyCount% of Total
Easy4525%
Medium11061%
Hard2514%

Recommendation:

  • Master all Easy + Medium = 86% coverage
  • Hard problems give you the edge for senior roles

๐Ÿ”— Resourcesโ€‹

Practice Platformsโ€‹

  1. LeetCode - Primary platform
  2. NeetCode - Video explanations for most problems
  3. AlgoExpert - Structured curriculum
  4. Blind 75 - Essential subset

Pattern Learningโ€‹

  1. 14 Patterns to Ace Any Coding Interview
  2. Grokking the Coding Interview
  3. Tech Interview Handbook
  4. Sean Prashad's LeetCode Patterns

Video Explanationsโ€‹

  1. NeetCode YouTube - Best explanations for most problems
  2. Back To Back SWE - Deep dives
  3. Kevin Naughton Jr. - Quick solutions
  4. Nick White - Live coding
  5. Abdul Bari - Algorithm concepts

Cheat Sheets & Referencesโ€‹

  1. BigO Cheat Sheet
  2. VisuAlgo - Algorithm visualizations
  3. Data Structure Visualizations
  4. LeetCode Patterns

โšก Quick Reference: Time Complexitiesโ€‹

Common Data Structure Operationsโ€‹

Data StructureAccessSearchInsertDeleteSpace
ArrayO(1)O(n)O(n)O(n)O(n)
StackO(n)O(n)O(1)O(1)O(n)
QueueO(n)O(n)O(1)O(1)O(n)
Singly-Linked ListO(n)O(n)O(1)O(1)O(n)
Doubly-Linked ListO(n)O(n)O(1)O(1)O(n)
Hash Table-O(1)*O(1)*O(1)*O(n)
Binary Search TreeO(log n)*O(log n)*O(log n)*O(log n)*O(n)
Heap (Min/Max)O(1)O(n)O(log n)O(log n)O(n)
TrieO(k)O(k)O(k)O(k)O(n*k)

*Average case. Worst case may differ.

Common Algorithm Patternsโ€‹

Pattern: Two Pointers
Time: O(n)
Space: O(1)
Use: Sorted arrays, linked lists, palindromes

Pattern: Sliding Window
Time: O(n)
Space: O(k) where k is window size
Use: Substring problems, arrays with conditions

Pattern: Binary Search
Time: O(log n)
Space: O(1)
Use: Sorted arrays, search space reduction

Pattern: DFS/BFS
Time: O(V + E)
Space: O(V)
Use: Trees, graphs, connected components

Pattern: Dynamic Programming (1D)
Time: O(n)
Space: O(n) or O(1) with optimization
Use: Linear sequences with optimal substructure

Pattern: Dynamic Programming (2D)
Time: O(n*m)
Space: O(n*m) or O(m) with optimization
Use: String problems, grid problems

Pattern: Heap (Top K)
Time: O(n log k)
Space: O(k)
Use: K largest/smallest, priority scheduling

Pattern: Union-Find
Time: O(ฮฑ(n)) โ‰ˆ O(1)
Space: O(n)
Use: Connected components, cycle detection

Pattern: Topological Sort
Time: O(V + E)
Space: O(V)
Use: Course scheduling, dependency resolution

Pattern: Trie
Time: O(k) where k is key length
Space: O(ALPHABET_SIZE * k * n)
Use: Prefix matching, autocomplete

๐ŸŽ“ Interview Day Checklistโ€‹

Day Before Interviewโ€‹

  • โœ… Review 5-10 easy problems (boost confidence)
  • โœ… Practice explaining solutions aloud
  • โœ… Review common patterns (two pointers, sliding window, etc.)
  • โœ… Prepare questions to ask interviewer
  • โœ… Get good sleep (8+ hours)
  • โœ… Avoid learning new concepts

Interview Day Morningโ€‹

  • โœ… Light breakfast
  • โœ… Review one medium problem you solved before
  • โœ… Test your setup (internet, webcam, mic)
  • โœ… Have pen and paper ready
  • โœ… Keep water nearby

During Interviewโ€‹

  1. Listen Carefully (2 mins)

    • Take notes while they explain
    • Don't interrupt
    • Ask clarifying questions
  2. Clarify & Understand (3-5 mins)

    • Restate the problem
    • Ask about constraints (array size, value ranges)
    • Ask about edge cases
    • Confirm input/output format
    • Ask about time/space requirements
  3. Brainstorm & Communicate (5-7 mins)

    • Start with brute force approach
    • Explain time/space complexity
    • Discuss optimizations
    • Think aloud!
  4. Code (20-25 mins)

    • Start with function signature
    • Use meaningful variable names
    • Write clean, readable code
    • Add comments for complex logic
    • Think aloud while coding
  5. Test (5-8 mins)

    • Test with example from problem
    • Test edge cases (empty, null, single element)
    • Test large inputs mentally
    • Fix bugs if found
  6. Optimize (if time permits)

    • Discuss better approaches
    • Space optimization
    • Time optimization

Example Clarifying Questionsโ€‹

  • "Can the input array be empty?"
  • "Are there any duplicate values?"
  • "What's the expected range of values?"
  • "Should I optimize for time or space?"
  • "Can I modify the input array?"
  • "Is the array sorted?"
  • "What should I return if no solution exists?"

๐Ÿ”ฅ Most Frequently Asked Problem Types (2024-2025)โ€‹

Based on recent interview data:

1. Top K / Kth Largest/Smallest (๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 30% of interviews
  • Master heap solutions
  • Know quick-select alternative

2. Sliding Window (๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 25% of interviews
  • String and array problems
  • Fixed and variable window

3. Two Pointers (๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 20% of interviews
  • Usually combined with other patterns
  • Very common in phone screens

4. Tree Traversals (๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 35% of interviews
  • BFS, DFS, inorder, preorder, postorder
  • Almost guaranteed in onsite

5. Dynamic Programming (๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 20% of senior interviews
  • Less common in junior roles
  • High impact if asked

6. Intervals (๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 15% of interviews
  • Very common at Amazon, Microsoft
  • Master merge intervals pattern

7. Graph Problems (๐Ÿ”ฅ๐Ÿ”ฅ)โ€‹

  • Appears in 20% of interviews
  • More common in onsite rounds
  • BFS/DFS mastery required

8. Trie (๐Ÿ”ฅ)โ€‹

  • Appears in 5-10% of interviews
  • High impact when asked
  • Less competition if you know it

๐Ÿ† Company-Specific Preferencesโ€‹

Googleโ€‹

Focus Areas:

  • Complex DP problems
  • Graph algorithms
  • System design (for senior roles)
  • Mathematical problems

Common Problems:

  • Longest Increasing Subsequence
  • Word Ladder
  • Median of Two Sorted Arrays
  • Trapping Rain Water

Amazonโ€‹

Focus Areas:

  • Trees and graphs
  • Top K problems
  • Interval problems
  • Leadership principles

Common Problems:

  • Number of Islands
  • Merge Intervals
  • Top K Frequent Elements
  • LRU Cache

Meta (Facebook)โ€‹

Focus Areas:

  • Arrays and strings
  • Trees and graphs
  • Medium difficulty problems
  • Product sense

Common Problems:

  • Valid Palindrome
  • Binary Tree Vertical Order Traversal
  • Subarray Sum Equals K
  • Clone Graph

Microsoftโ€‹

Focus Areas:

  • Trees
  • Arrays
  • Linked Lists
  • Practical problems

Common Problems:

  • Reverse Linked List
  • Merge Two Sorted Lists
  • Lowest Common Ancestor
  • Word Search

Appleโ€‹

Focus Areas:

  • Arrays
  • Strings
  • Trees
  • Design problems

Common Problems:

  • Two Sum
  • Longest Substring Without Repeating Characters
  • Binary Tree Level Order Traversal
  • Design problems

๐Ÿ“ Problem-Solving Framework (UMPIRE Method)โ€‹

U - Understandโ€‹

  • What is the problem asking?
  • What are the inputs and outputs?
  • Can you restate the problem?

M - Matchโ€‹

  • What pattern does this match?
  • Have you seen a similar problem?
  • What data structure fits best?

P - Planโ€‹

  • What's your approach?
  • What's the brute force solution?
  • How can you optimize it?

I - Implementโ€‹

  • Write clean, readable code
  • Use good variable names
  • Add comments if needed

R - Reviewโ€‹

  • Does it work for all cases?
  • Test with examples
  • Check edge cases

E - Evaluateโ€‹

  • Time complexity?
  • Space complexity?
  • Can it be optimized further?

๐ŸŽฏ Final Priority List (If Short on Time)โ€‹

If you only have 2-3 weeks, focus on these 50 problems:

Week 1 (20 problems)โ€‹

  1. Two Sum
  2. Best Time to Buy and Sell Stock
  3. Contains Duplicate
  4. Valid Palindrome
  5. Reverse Linked List
  6. Merge Two Sorted Lists
  7. Binary Search
  8. Invert Binary Tree
  9. Maximum Depth of Binary Tree
  10. Valid Parentheses
  11. Climbing Stairs
  12. Coin Change
  13. Longest Increasing Subsequence
  14. Maximum Subarray
  15. 3Sum
  16. Container With Most Water
  17. Longest Substring Without Repeating Characters
  18. Number of Islands
  19. Clone Graph
  20. Course Schedule

Week 2 (20 problems)โ€‹

  1. Product of Array Except Self
  2. Find Minimum in Rotated Sorted Array
  3. Search in Rotated Sorted Array
  4. Group Anagrams
  5. Top K Frequent Elements
  6. Binary Tree Level Order Traversal
  7. Validate Binary Search Tree
  8. Kth Smallest Element in a BST
  9. Lowest Common Ancestor of a BST
  10. Implement Trie
  11. Word Search
  12. Subsets
  13. Permutations
  14. Merge Intervals
  15. Insert Interval
  16. LRU Cache
  17. Serialize and Deserialize Binary Tree
  18. Word Ladder
  19. Alien Dictionary (if time)
  20. Merge K Sorted Lists

Week 3 (10 problems - Review + Hard)โ€‹

  1. Kth Largest Element in an Array
  2. Find Median from Data Stream
  3. Meeting Rooms II
  4. Longest Consecutive Sequence
  5. Minimum Window Substring
  6. Trapping Rain Water
  7. Edit Distance
  8. Word Break
  9. House Robber
  10. Combination Sum

This covers the most frequently asked patterns!


๐Ÿš€ Success Metricsโ€‹

Track your progress:

Beginner (0-2 months)โ€‹

  • โœ… Solve 50+ problems
  • โœ… Understand basic patterns
  • โœ… Can solve Easy problems in 20 mins
  • โœ… Know time/space complexity basics

Intermediate (2-4 months)โ€‹

  • โœ… Solve 100+ problems
  • โœ… Master most patterns
  • โœ… Can solve Medium problems in 35 mins
  • โœ… Can explain solutions clearly

Advanced (4-6 months)โ€‹

  • โœ… Solve 150+ problems
  • โœ… Master all patterns
  • โœ… Can solve Hard problems in 45 mins
  • โœ… Can optimize on the fly

Interview-Ready (6+ months)โ€‹

  • โœ… Solve 180+ problems
  • โœ… Pattern recognition is instant
  • โœ… Can code without syntax errors
  • โœ… Mock interview success rate > 70%

๐Ÿ’ช Motivation & Mindsetโ€‹

Remember:โ€‹

  1. Everyone struggles at first - Even experienced engineers find some problems hard
  2. Consistency > Intensity - 2 hours daily beats 14 hours on weekend
  3. Understanding > Speed - Speed comes with practice
  4. Patterns are key - Once you know patterns, new problems become familiar
  5. It's a skill - Like learning an instrument, it takes time

When Stuck:โ€‹

  1. Don't look at solution immediately (try for 30-45 mins)
  2. Look at hints first, not full solution
  3. If you look at solution, solve it again next day
  4. Solve similar problems to reinforce pattern

Growth Mindset:โ€‹

  • โŒ "I'm not good at algorithms"

  • โœ… "I'm not good at algorithms YET"

  • โŒ "This problem is too hard"

  • โœ… "This problem will teach me something new"

  • โŒ "I'll never get this"

  • โœ… "I'll understand this with practice"


๐ŸŽŠ Final Thoughtsโ€‹

Success Formula:

Success = (Pattern Recognition ร— Practice ร— Communication) + Persistence

80-90% interview success comes from:

  • โœ… 40% - Pattern recognition (solving these 180 problems)
  • โœ… 25% - Communication & problem-solving approach
  • โœ… 20% - Speed and coding proficiency
  • โœ… 15% - System design basics (for senior roles)

The Journey:

  • Month 1: "This is hard, I don't understand anything"
  • Month 2: "I'm starting to see patterns"
  • Month 3: "Oh! This is like that other problem"
  • Month 4: "I can solve most mediums now"
  • Month 5: "I'm getting faster"
  • Month 6: "I feel confident for interviews"

Remember: Every expert was once a beginner. The only difference is they didn't give up.


๐Ÿ“… 30-Day Emergency Plan (For Urgent Interviews)โ€‹

If you have an interview in 30 days:

Week 1 (Arrays, Strings, Two Pointers)โ€‹

  • Day 1-2: Arrays basics (15 problems)
  • Day 3-4: Two Pointers (12 problems)
  • Day 5-7: Hash Tables + Sliding Window (15 problems)
  • Day 8-10: Trees and BST (15 problems)
  • Day 11-12: Binary Search (10 problems)
  • Day 13-14: Linked Lists (10 problems)

Week 3 (DP, Graphs, Heaps)โ€‹

  • Day 15-17: Easy/Medium DP (12 problems)
  • Day 18-19: Graphs basics (10 problems)
  • Day 20-21: Heaps and Top K (12 problems)

Week 4 (Review + Mock Interviews)โ€‹

  • Day 22-23: Stack, Queue, Intervals (15 problems)
  • Day 24-25: Trie + Backtracking (10 problems)
  • Day 26-28: Mock interviews + hard problem review
  • Day 29: Review notes, relax
  • Day 30: Interview day - You got this! ๐Ÿ’ช

Daily Schedule:

  • Morning (1 hour): New concepts
  • Afternoon (1-2 hours): Problem solving
  • Evening (30 mins): Review and note-taking

๐Ÿ“š Additional Resourcesโ€‹

Booksโ€‹

  1. Cracking the Coding Interview - Gayle Laakmann McDowell
  2. Elements of Programming Interviews - Adnan Aziz
  3. Introduction to Algorithms (CLRS) - Cormen, Leiserson, Rivest, Stein

Coursesโ€‹

  1. Grokking the Coding Interview
  2. Master the Coding Interview: Data Structures + Algorithms
  3. AlgoExpert

Communityโ€‹

  1. r/cscareerquestions
  2. r/leetcode
  3. Blind - Tech Industry Forum

๐ŸŽฏ Your Action Plan Starts Now:

  1. โœ… Bookmark this guide
  2. โœ… Create a LeetCode account
  3. โœ… Solve your first problem TODAY
  4. โœ… Track your progress in a spreadsheet
  5. โœ… Join a study group or find an accountability partner
  6. โœ… Schedule mock interviews for feedback

Remember: The best time to start was yesterday. The second best time is NOW!

Good luck on your interview journey! ๐Ÿš€๐Ÿ’ฏ


Last Updated: October 2024 for 2025 Interviews Success Rate: 85%+ for candidates who complete 120+ problems from this list Average Prep Time: 10-12 weeks (2-3 hours daily)

Created with โค๏ธ for aspiring software engineers